package com.easymin.weixin.mapper;


import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import java.util.List;

public interface BaseMapper<T, Q, K> {

  Long countByExample(Q example);

  int deleteByExample(Q example);

  int deleteByPrimaryKey(K id);

  int insert(T record);

  int insertSelective(T record);

  List<T> selectByExampleWithRowbounds(Q example, RowBounds rowBounds);

  List<T> selectByExample(Q example);

  T selectByPrimaryKey(K id);

  int updateByExampleSelective(@Param("record") T record, @Param("example") Q example);

  int updateByExample(@Param("record") T record, @Param("example") Q example);

  int updateByPrimaryKeySelective(T record);

  int updateByPrimaryKey(T record);

}
